The origin of the modern keyboard as the primary method for inputting text from a human to a machine dates back to early typewriters in the 19th century. As computers were developed, it was a natural evolution to adapt the typewriter keyboard to use as the primary method for inputting text. For a skilled typist, it has remained the fastest way possible to input text into the computer.
With ongoing efforts to make computers smaller and more portable, the physical keyboard has become one of the most significant limiting factors in just how small a device can become: the physical size of the human finger is not something computer designers could change. As a result, computers for certain portable applications have been designed without a physical keyboard, and use touch-screen based input methods as the primary form of human-computer interface. (This is also the case for some applications where people are physically unable to use a keyboard, such as persons with physical disabilities.)
Input methods that are designed for portable touch-screen based devices have two primary requirements which frequently conflict with each other. The method of input must be as fast as possible and at the same time the method of input must take as little of the display screen as possible. Unfortunately, as the space taken up for input on the display screen is decreased, it becomes difficult to increase speed without adversely affecting accuracy.
In spite of a recent surge in the market for pen-based computing devices, most people who must generate text still do so with a standard keyboard. In fact, an entire industry has sprung up that provides portable keyboards for pen-based computers that were designed to be keyboard-less! To date, pen-based computing has not replaced conventional portable laptop computers as was originally forecast, for the simple reason that text input on pen-based computers is too slow. Even the recently introduced “Tablet PC,” largely due to the lack of a sufficiently accurate handwriting recognition engine, serves largely as a way to store and retrieve “digital ink”—actual graphic images of handwriting traced on the touch-screen by the user—as opposed to recognizing what was handwritten and converting to computerized text.
Analogous to one-finger typing, the current state-of-the art for inputting using a virtual keyboard is called “point and tap”. A stylus is moved from letter to letter and a “tap” is performed by contacting the screen on the desired key to select it. This results in the need to constantly lift the stylus from the screen and set back down again, significantly slowing input. Cursive handwriting was invented to allow a better (and faster) flow from letter to letter and reduce the number of pen (or quill) lifts. In a similar way, the current invention reduces the number of taps required when inputting using an on-screen keyboard, thus speeding text entry.
The natural way for a human to create text on anything other than a machine is to “write” it by hand. Accordingly, with the advent of touch-screen computers, it is not surprising that handwriting recognition software was developed to allow a user to enter text by writing on the screen of the computer. However natural, handwriting is slow. Each letter requires several strokes of the stylus, making it very inefficient. Further, with varying handwriting styles, accuracy of this software is still below user-acceptance levels (see MacKenzie, I. S., & Chang, L. (1999), A performance comparison of two handwriting recognizers. Interacting with Computers, 11, 283-297.). As mentioned above, the reliance on the use of “digital ink” by even the “latest and greatest” of computer touch-screen technology, the Tablet PC, provides clear evidence that handwriting recognition is still not good enough to satisfy most users. Furthermore, even if a completely accurate method of handwriting recognition were available, handwriting itself is simply too slow and tiring to provide a satisfactory input method (especially on a touch-screen, which does not provide the same “feel” as a pen on actual paper).
Some methods make the job easier for the software by requiring the user to handwrite letters in a simplified way (see Goldberg, US Patent Application 20020009227, Unistrokes; or as popularized by Palm Computing in their commercial product titled “Graffiti”). Advantages of this method are that each character is sufficiently unique as to be easily recognized by the software, that each character is drawn as a single stroke, and no virtual keyboard is required on the screen. Disadvantages of this method are it requires the user to learn a new writing method and still requires the stylus to be set-down and lifted once for each individual character (thus slowing text entry).
Again, it was a natural evolution for the idea of a keyboard to be carried on into the virtual world of the computer display. Auer et al., in U.S. Pat. No. 4,725,694, describe a system wherein one or more images of simulated keyboards are displayed on a touch-sensitive screen of a computer, and in response to the touching of the simulated keys, generate appropriate control signals. In a later refinement of this concept, the image of the keyboard is displayed floating above other applications running on the computer, rather than occupying a dedicated portion of the screen. The user interacts with this “on-screen keyboard” or “virtual keyboard” by either directing a cursor pointer over it, or directly touching the keys via a touch screen using a finger or stylus. On-screen keyboards have been primarily used for devices which lack a standard keyboard, such as certain public information kiosks and personal digital assistants (PDAs), handheld computers that are too small to accommodate a physical keyboard. They are also frequently used by individuals with disabilities that prevent them from using a physical keyboard.
There are two large shortcomings of on-screen keyboards: first they take up valuable screen space on the computer needed for whatever task is requiring text input. Second, and more importantly, they are slow because the user is forced to tap one letter at a time—effectively reducing the user to input text in a way that is analogous to single finger typing on a regular physical keyboard.
In an effort to address the slow rate of typing with on-screen keyboards, predictive software was developed which, based on preceding words and on the initial letters typed for the current word, attempts to predict what word is being typed and presents the user with a list of word or phrase choices that they can select as a quicker alternative to completing the word or phrase letter by letter. Due to the need to divert attention from the task at hand (typing a word) in order to scan the prediction list and determine whether the intended word has been offered as a choice, this “Word Prediction” scheme offers only a marginal increase in speed of text entry, if any (depending on the user).
As the size of the on-screen keyboard is reduced beyond a certain point, the speed of text entry is sharply reduced. This is due to the requirement for increased accuracy and dexterity in hitting the smaller targets. Various schemes have been developed to minimize the size of the keyboard, yet still maintain accuracy without unduly sacrificing speed of entry.
Grover et al., in U.S. Pat. No. 5,818,437, describe a system that reduces the number of distinct keys required by assigning multiple letters on each key. This allows, for a given size of keyboard, relatively larger individual keys which are therefore easier to hit accurately, thus allowing the user to type more quickly. Text entry in this system is word-based, so that disambiguation software uses a database of words to analyze each sequence of keystrokes and determine the most likely word (or words) corresponding to the sequence, and consequently determine which letter was actually intended by each ambiguous keystroke. While the system of Grover et al. makes it easier to hit an intended key by virtue of reducing the total number of keys and enlarging the individual keys, when implemented on a touch-screen device, it still requires the user to lift the stylus and set it down for each letter entered, significantly slowing down text entry. Furthermore, this approach requires the user to a very unfamiliar keyboard layout in which completely unrelated letters are grouped together on a single key. Even when letters are grouped according to an “alphabetic” layout (as on the keys of cellular telephone), compared to the standard “QWERTY” keyboard, the arrangement is unfamiliar for the majority of individuals and further slows the text entry process.
Lee, in U.S. Pat. No. 6,292,179, describes another system that reduces the number of distinct keys required on a touch screen keyboard by assigning multiple letters on each key, and determining which letter associated with a contacted key is intended by determining the direction in which the stylus is moved after contacting a key. Each letter associated with a key is further associated with a range of directions in which the point of contact can be moved. Lee's method also allows each key of a given keyboard to be relatively larger, and therefore easier to initially contact, since multiple letters are combined into a single key and a smaller total number of keys is therefore required. However, the user is still required to tap once for each desired letter, and is further required to move the point of contact in a particular direction before lifting the stylus and breaking contact with the screen.
Kaehler, in U.S. Pat. No. 5,128,672, describes another system designed to reduce the number of distinct keys that are required for a touch screen keyboard by displaying at any given time only a subset of the total set of characters that can be entered. The system attempts to determine the subset of characters comprising the most likely next characters to be entered, based on the previous character entered or the positioning of the text insertion point. When the desired character does not appear, the user must manually switch to a different keyboard to locate and enter the desired character. The large number of different (and constantly changing) partial keyboards would tend to make this a slow and frustrating input method for the majority of users.
Vargas, in U.S. Pat. No. 5,748,512, attempted to reduce the need for accuracy on a touch screen keyboard (and therefore increase speed) by considering two adjacent keys as possible candidates when a key is not activated in its central area. Based on the actual location at which the keyboard was contacted relative to the three keys, combined with the statistical analysis of preceding characters in the word being entered (if any), and optionally also using information from a word prediction engine, the system determines the most likely of the three possible candidate characters and displays it as the character to be input in response to the activation. However, since each character, once input, forms the basis for the prediction of subsequent characters, when a character prediction is incorrect, it must be corrected by the user before he can proceed to type the next character. In the system as described, this is done by maintaining contact with the keyboard during an activation, observing whether the predicted character is correct, and if necessary, sliding the point of contact in the direction of the actual intended letter. The advantage of this invention, as described, is that it enables the user to use something blunt (such as a fingertip, rather than a stylus) to activate keyboard keys that are actually smaller than the instrument of activation. However, the nature of the feedback provided to the user and the consequent need to observe the result of each keystroke and correct it before moving on to the next keystroke, creates a system that generally would slow the rate of text input considerably.
Robinson et al., in international patent publication WO 00/74240 A1, describe a text input system for touch-screen devices that includes a keyboard with an auto-correcting region that includes the set of keys that are associated with letters. The advantage of the system is that, for words that are included in the system database, the user does not need to contact within the region of the key associated with desired letter, but instead need only tap in the neighborhood of the key. The user taps the keyboard once for each letter in the word being entered, and the system records the location of each contact. The sequence of contacts is then compared with the key locations associated with words in the database, and the most likely one or more matching words are presented to the user for selection. This system is a significant improvement over previous approaches in that it enables the user to type much more quickly on a small keyboard because it is no longer necessary to precisely contact within the region of each intended key. However, for each key activation, the user still needs to touch down on the screen with control, targeting the intended key, then lift the stylus from the screen and move to target the next key. The additional movements of lifting and setting down the stylus for each letter, combined with the additional effort required to control the relocation of the stylus when it is not in contact with the screen, result in significantly slowing down the input process compared to the system of the present invention.
Another factor in slowing text entry on touch-screen keyboards was the time it takes to lift the stylus from the screen and then bring it back down between each key selection (“tapping”). U.S. Pat. No. 5,574,482 (Niemeier) discloses a method for data input on a touch sensitive screen. The Niemeier patent teaches having what are described as computer generated “temporary” adjacent keys which can be made to appear on top of a standard keyboard layout. When the user touches a key, selecting a first letter, one or more temporary keys are displayed adjacent to the contacted key as long as the initial contact is maintained. A second letter (or group of letters) that is displayed on an adjacent temporary key can then be selected by making what is described as a “wiping” motion in which one's finger or a stylus is slid from the first selected key to the adjacent temporary key. This teaching enables two (or more) adjacent letters to be input without lifting the stylus from the screen, approximately cutting in half the number of times the stylus needs to be lifted from the touch screen. The “temporary” adjacent keys create artificial groupings of the most probable letters to provide more opportunity for “wiping” input.
However, the method described by Niemeier has several significant drawbacks. One is that the user needs to either memorize 26 new “temporary” sub-keyboards that appear when each of the 26 letter keys are contacted (creating a significant learning curve in order to use the system effectively), or else the user needs to pause to observe whether and where the next desired key may have appeared on a temporary key, which would likely negate any speed advantage that the “tap and slide” method would provide. The situation becomes worse when, in order to increase the likelihood that the desired letter will appear, a dictionary or other database is used to alter the temporary keys that are displayed for each key based on the context of the previous letters that that were selected prior to activating the key. Furthermore, as described above, the system is limited to sliding to at most one additional key beyond the initially selected key, unless the subsequent letter also happens to appear on a key adjacent to the selected temporary key. Also, the number of temporary keys that can be displayed (and therefore selected) is limited to the number that can be displayed around the circumference of a single key (six for standard key arrangements as proposed by Niemeier, up to a maximum of eight). Furthermore, since the temporary keys are only displayed while the stylus (or finger) is actually in contact with the screen, a significant number of the keys which might be displayed would likely be partially or totally obscured by the stylus and hand of the user. Also, the system proposed by Niemeier includes a significant amount of space in between active keys (used for capitalization and spacing), reducing the size of the actual key targets, each of which must be contacted in the interior of the defined key area in order to effect an activation.
Van Kleeck, in U.S. Pat. No. 6,008,799, describes a somewhat similar system, wherein the “temporary keys” are never actually displayed, but where each of the four vowels “o”, “e”, “i” and “a” are implicitly associated with each letter key, and can be appended by tapping a character button and dragging the pen in either the north, south, east or west direction. While this approach is easier to learn than Niemeier's (since only the four vowels and their associated directions must be learned), and it is not affected by potential visual interference by the user's hand (since no temporary keys are actually displayed), it is limited to only being able to add one of the four particular letters following a key selection, and thus does not offer a very significant improvement over a standard keyboard.
Perlin describes a method in U.S. Pat. No. 6,031,525 where the stylus is never lifted from the touch screen, but rather directed from a middle neutral point (a “resting zone” in Perlin's terminology) to one of a number of surrounding zones, each of which contains a plurality of letters. The user is required to contact the screen in the resting zone and then perform a continuous sliding motion which, for each letter to be entered, goes from the resting zone out into the adjacent zone that contains the desired character, and then indicates which character contained in the zone is intended by either returning directly to the resting zone or by first traveling to a different zone before returning to the resting zone. Thus, the desired character is indicated by the combination of the zone first entered from the resting zone, combined with the zone from which the resting zone is again re-entered. As a result, the user is required to make a minimum of 2 and more commonly 3 strokes of the stylus to indicate each desired letter. This method allows for a smaller keyboard, but requires multiple strokes per letter which dramatically reduces the speed of text entry.
Another common approach in speeding text entry is to modify the layout of characters on the keys of an on-screen keyboard (see www.fitaly.com). Common letters are placed near the center of the onscreen keyboard, and common letter pairs are made adjacent. In this way, stylus movement between letters is minimized, thus speeding text entry. The disadvantage of this method is it requires the user to learn a new keyboard layout, and again, the user is still required to lift the stylus between each key activation, essentially reducing the user to a one-finger typist.
Each of the above methods has the potential to speed text entry by some degree and/or decrease the amount of on-screen real estate required for input. However, text entry via existing on-screen keyboards and handwriting recognition techniques are still generally slower than using a physical keyboard. Handwriting itself is simply too slow, and the recognition accuracy is still not up to acceptable standards. All of the keyboard-based methods described above require one or more separate and distinct actions for the input of each individual letter. Most of the proposed keyboard systems are based on tapping some type of key, so that generating a single character requires that the stylus be appropriately positioned, the on-screen keyboard be contacted, and the stylus lifted from the screen again before proceeding to input the next character.
The fundamental problem is that, particularly for devices that must utilize touch-screen keyboards that are reduced in size, the additional actions of lifting the stylus and bringing it back into contact with the screen in a controlled manner considerably slow down the input process. Other methods which have been proposed to reduce the number of times the stylus must be lifted from the screen (such as Niemeier and Perlin) still fail to provide a method that can significantly speed text entry. Niemeier's proposed system adds too much complexity by requiring the user to react to a constantly changing keyboard layout, and limits the number of characters that can be selected following an initial character selection. Perlin's approach fails because it requires the user to execute too many distinct stylus movements to enter each letter.
Cirrin (Circular Input), designed by Mankoff and Abowd [Mankoff, J. and G. D. Abowd. Cirrin: a word-level unistroke keyboard for pen input. Proc. ACM UIST, Tech. Note. 1998. p. 213-214.], presents a keyboard word input system. Cirrin operates by tracing a path through letters arranged in a circle. The user enters a word by moving the stylus through the desired letters in the intended sequence. Although Cirrin is designed to input text one word at a time—the pen contacts the screen prior to passing through the first letter and lifts up after the last letter of each word—Cirrin does not perform any kind of recognition. This is an advantage in the sense that processing is greatly simplified and no database of words is required by the system. However, it is this limitation that requires the circular configuration of the keyboard. Any letter that is contacted by the stylus is added to the word being output, so the key configuration must be such that the stylus can travel between any two arbitrary letters without contacting another letter. This tends to significantly increase the average distance the stylus must travel to enter a word. It also means that the user must be careful and precise enough that every intended letter is explicitly contacted by the stylus, and conversely, that no other unintended letter is contacted. Although Cirrin attempts to optimize pen movement by arranging the most commonly co-occurring letters closer to each other, this does not greatly reduce the negative impact of the above limitations.
One other approach has been presented in which a path is traced on a virtual keyboard displayed on a touch-screen in order to enter a word. While the approach presented begins to address some of the concerns mentioned with respect to the other approaches discussed above, there are still a number of significant limitations to the approach. One is that the user is required to make some kind of distinctive indication at every key associated with a word being input. When three letters are co-linear on the virtual keyboard (as in a presented example of the word “pity” in which the first three letters occur in right-to-left sequence in the top row of the keyboard), the user is still required to move the stylus in a distinctive fashion at each letter. In this case, the illustrated example shows a stylus trace that “zig-zags” above and below the top row of keys at the position of the “i” key to indicate the user's intention to input the letter “i”. Alternatively, the user can change the speed or pressure of the stylus motion or pause over the intended letter “i”. Any of these variations in stylus movement require additional time and thus slow the overall rate of text input that is possible. The approach also proposes that, all characters in the immediate vicinity of a “selection” (this term is undefined, but appears to refer to the location determined for a change in direction or pause in stylus movement) are considered as possible candidates. However, no definition is presented as to what constitutes a “change in direction.” In the approach presented, the actual extent of the “vicinity” of a selection is determined by the user choosing a fixed radius that extends from the location of each selection and within which all characters are considered as candidates for the letter intended by the distinct movement. The approach then proposes that statistical models are used to determine which of these candidate characters is most likely intended. With sufficient accuracy by the user in the locations of the majority of distinct movements (such that the intended letter is unambiguously deduced), this approach could be used to attempt to resolve ambiguity for a relatively small number of the letters of a given word. However, this has two major limitations. One is that in many cases, the letter determined by statistical modeling would not in fact be the intended letter, forcing the user to edit or re-enter the word. The second is the simple fact that the majority of distinctive movements of the stylus would have to be quite accurate in order to provide a context with enough information to resolve the ambiguity of the remaining letters in each word. This requirement for significant accuracy on the part of the user drastically lowers the speed with which the user can then enter each word, since faster stylus movement inevitably results in lowered accuracy of movement.
Zhai [Zhai, S., Kristensson, P-O., “Shorthand Writing on Stylus Keyboard” in Proc of CHI 2003—ACM Conference on Human Factors in Computing Systems. pp 97-104; and Zhai, S., Kristensson, P-O, Smith, B. A., In search of effective text interfaces for off the desktop computing, to appear in Interacting with Computers, Vol. 16.] proposes a system that also enables a user to enter a word by tracing a path through the letters of the word on a virtual keyboard displayed on a touchscreen. Zhai calls his system “Shorthand Aided Rapid Keyboarding,” designated by the acronym SHARK. In contrast to the present invention, Zhai's approach is focused on the goal of enabling the user to memorize the pattern corresponding to any word they wish to enter so that the pattern can then be entered as a “shorthand” gesture that the user performs independently of any displayed keyboard. One of Zhai's guiding principles is to create a system that reduces the amount of visual attention required of the user in order to allow the user to attend to other tasks or information on the display while inputting text. Zhai asserts: that requiring the user to “To precisely cross all letters defining a word would require just as much, if not more, visual attention as serially tapping all the letters. Furthermore, the time to perform such visually guided steering cannot be expected to be any shorter than tapping. Therefore, for gesturing to be effective, patterns must be recognized at least partially independent of scale and location. As long as the user produces a pattern that matches the shape of the prototype of a word, the system should recognize and type the corresponding word for the user. If so, the users could produce these patterns with much less visual attention and presumably greater ease and comfort. Scale and location independency is the first principle in our current work.” As a result, Zhai proposes a recognizer based on a standard elastic matching algorithm, “which computes the minimum distance between two sets of points by dynamic programming. One set of points is from the shape that a user produces (a unknown shape). The other is from a prototype—the ideal shape defined by the letter key positions of a word. After preprocessing, filtering and normalization in scale, the distance between the unknown shape and the prototypes are computed by elastic matching. The word corresponding to the prototype that has the shortest distance to the sample is returned as the recognized word.” This type of pattern recognition emphasizes the degree of proportion between the user's gesture and the prototype of a potentially matching word.
This approach is a natural result of Zhai's emphasis on scale and location independence as the first principle in his work. However, while Zhai's approach allows the user's gesture to be performed independently of the keyboard, and without regard to the size or position of the gesture, the emphasis on proportionality means that, even if the gesture is in fact performed on the keyboard (so that the positions of the keys form a visual template that the user can follow in entering the gesture), then the gesture must be entered with a relatively small amount of error (or, even more unlikely, with roughly the same error in the same direction from each key, or still less likely, with an error that is approximately proportional either “outward” from the center of the gesture or “inward” toward its center). The term “sokgraph,” which appears in Zhai's terminology, will be used here as the term for an input gesture performed in a size and location independent manner. For example, on a Qwerty keyboard layout, the words “put”, “pit”, “pot” and “pout” collide by virtue of the fact that they all have identical input paths consisting of a straight line path from the “p” to the “t” key. Zhai's approach is unable to distinguish between such words, except by means of adding an additional required stroke on a pop-up “pie menu” to designate which of the otherwise indistinguishable words is intended by the user. Zhai's keyboard configuration is designed to result in fewer such collisions but at the cost of forcing the user to adapt to a new and unfamiliar keyboard configuration. With Zhai's approach that requires that sokgraphs be recognized in a size and location independent fashion, the number of such collisions necessarily increases (e.g. to/top/can/aim/am/an/less all have a sokgraph consisting of a straight, horizontal left to right stroke, and is/my/no/at all consist of a straight diagonal upper-left to lower-right stroke). Despite Zhai's unusual “ATOMIK” keyboard configuration, there are still pairs of words whose input paths cannot be distinguished even when the principle of scale and location independence is ignored (e.g. lip/lisp; cosmic/comic; bald/ballad; care/carte; aim/am; claim/clam; dept/depot; pales/pals; etc.).
Zhai cites his second guiding principle as “efficiency” which, Zhai argues, motivates the use of the “ATOMIK” keyboard layout rather than the standard QWERTY configuration. Zhai argues that the QWERTY layout “would involve frequent left-right zigzag strokes, because the commonly used consecutive keys are deliberately arranged on the opposite sides of QWERTY” whereas the ATOMIK layout was designed such that “in any given scale, the average word gesturing length on ATOMIK is also minimized.” The ATOMIK layout also “maximizes, without sacrificing the first two features, the letter connectivity of the most common words.” Since common words tend to be short, and since there are at most six ways in which letters can be connected, this approach tends to increase the number of pairs of common words whose sokgraphs cannot be distinguished on a scale- and location-independent basis. An important design goal of the present invention is to enable the user to use gestures to input all words entered with the input system. The two factors of minimizing gesture length and maximizing letter connectivity combine to make it difficult, if not impossible, to reliably distinguish between gestures in system designed to enable gestural input of a large vocabulary (over 60,000 words in current implementations of the present invention).
Zhai's acceptance of such limitations is consistent with interpretation and application of Zipf's law to the design of his proposed approach. Zipf's law is the simple fact that, in virtually any language, a relatively small number of frequently used words account for a disproportionately large percentage of the words used in a corpus representative of an “average” user. Zhai takes this fact as the basis of his rationale that the system is effective even when the user learns (and therefore uses) only a limited number of gestures corresponding to the more frequent (and therefore, statistically, significantly shorter) words. Zhai even explicitly describes this as the underlying principle of “duality” in his approach: “A shorthand system defined on a stylus keyboard, however, does not have to contain a complete or even a large set of words, because one can use both tapping and shorthand gesturing. For familiar words whose patterns are well remembered, the user can write their shorthand. For the less familiar, one can use stylus tapping.” Thus, Zhai's approach is designed to accommodate gesturing for only a limited portion of the words to be input. In contrast, the present invention allows gestural input of virtually every word, with the very rare exception of a word not yet present in the lexical database of the system, which therefore must be tapped in the first time it is entered in order to add it to the database, so that a gesture can be used thereafter to input the previously unknown word.
Zhai enumerates a fifth fundamental principle underlying his approach is the idea that there should (or must) be a gradual transition from tapping to shorthand. This is exemplified in his name for the SHARK system—“Shorthand Aided Rapid Keyboarding.” Zhai does not even contemplate a system in which virtually every word is input by means of a gesture. Zhai states explicitly: “a user's repertoire of shorthand symbols can be gradually expanded with practice. Gesturing and tapping a word with SHARK share a common movement pattern, which may facilitate skill transfer between the two modes. For a novice user, visually guided tapping is easier. When a word is tapped enough times, the user may switch to the more fluid “expert” mode of shorthand gesturing. If a shorthand gesture is forgotten, one can fall back to taping [sic], which reinforces the pattern and pushes the user back to expert mode.” Zhai's requirement for scale and location independent gesturing (which significantly affects his proposed approach to gesture recognition), and the consequent need for the user to memorize each gesture to be used, necessitates a continued dependence on tapping in Zhai's system.
Thus, Zhai consistently and emphatically teaches away from the concept that gesturing can or should be performed with respect to the keys displayed on a virtual keyboard. As quoted above, Zhai asserts that “such visually guided steering cannot be expected to be any shorter than tapping” based on theoretical calculations in which “the law of steering [1] and Fitts' law of pointing [are used] to quantitatively analyze the difference between tapping and tracing.” However, these calculations are based on the assumption (which, as shown above, follows from the fundamental guiding principles adopted by Zhai) that the user must “precisely cross all letters defining a word” when entering the input path for a word. From these assumptions, Zhai concludes that gesturing neither can nor should be used to enter every word when inputting text.
Thus there is a need for a system which can accommodate the use of gesturing for all text to be input (with the possible exception of the one-time tapping entry of a word not previously known to the system). As it is impractical to expect that users will memorize the gestures for all of the words in their vocabulary, there is also a need for an approach which does not require this. Finally, to accommodate greater speed in the entry of gestures, there is a need to allow the user to be less precise in entering gestures without sacrificing the ability to consistently interpret the user's gestures in such a way that they are correctly matched with the intended word.
As described below, the various aspects of the present invention combine to yield an unexpected result—that visually guided gesturing with reference to a displayed virtual keyboard is far faster than tapping, and can be used to enter words from a vocabulary that is large enough (for example, over 60,000 words in one implementation of a system for the English language) that the user only needs to resort to tapping to enter an unusual name or word the first time that word is entered using the system. This initial entry of a new word can reasonably be viewed as a process that is outside the normal text entry method, since once such a word has been tapped in it is then known to the system and can thereafter be entered using gesturing. The present invention, however, also includes aspects with respect to the tapping of words that improve upon anything known in the prior art. And, as will be shown in the following description, the present system allows the user to easily enter distinct words that “collide” because they otherwise map to the same basic gesture, or input path.